A Boolean expression used in a search tool or a set operation is generally expressed in a string expression, tree form, reverse Polish notation, or Venn diagram. For example, a Boolean expression is written as a string expression such as (A AND (NOT ((B AND C AND (NOT D)) OR E))). In this expression, A to E are operands and AND, OR, and NOT are operators of the Boolean expression. In a search expression, each key word serves as an operand. The above string expression can be transformed into a tree form, as illustrated in FIG. 1. FIG. 1(A) illustrates a normal tree, and FIG. 1(B) illustrates a binary tree. In the reverse Polish notation, an operator is placed after its operands, and the above string expression is expressed as “A B C AND D NOT AND E OR NOT AND”. The above string expression is also expressed as illustrated in FIG. 2, for example, using a Venn diagram which uses closed curves corresponding to operands to divide a region into 2N (N is the number of operands).
None of the above expression schemes can convey the meaning of the expressions to users without any specialized knowledge. Thus, techniques have been developed for presenting a Boolean expression in a manner that facilitates understanding of the Boolean expression as much as possible. For example, U.S. Pat. No. 5,592,663 discloses a graphic user interface which allows presentation of the quantity of sets in database retrieval and logical relations between the sets in a graph, calculation and manipulation of the sets by specifying rectangular regions in the graph, and extraction of data. In addition, U.S. Pat. No. 6,910,031 discloses a user interface which allows presentation of results of data search in a data search system in a human-recognizable format. In both the above techniques, visualization is performed so that the area of each bounded region represents the number of elements of corresponding subsets. However, this visualization is based on a Venn diagram, indicating that an increase in the number of sets increases complexity, and thus it is not possible to promptly convey information as to what is added to or excluded from conditions.
In the field of CAD, a set operations called “CSG (Constructive Solid Geometry)” is known, as described, for example, by F. Lohmueller on the web page found at f-lohmueller.de/pov_tut/csg/povcsg1e.htm. In this set operation, diagrams (subsets) in a three dimensional space serve as operands, and Boolean operations such as “union”, “merge”, “intersection”, and “difference” are defined, which allows drawing of complex diagrams. However, similarly to the case of the Venn diagram, it cannot be clearly seen from diagrams obtained through this technique which points are added or deleted.